﻿namespace 桥接模式
{
    
    //抽象类遥控器
    public abstract class RemoteControl
    {
        //遥控器本身坏了
        public abstract void NotUser();


        //遥控器通过红外线控制电视的开关换台...
        public Tv Implementor { get; set; }

        /// <summary>
        /// 开电视机，这里抽象类中不再提供实现了，而是调用实现类中的实现
        /// </summary>
        public virtual void On()
        {
            Implementor.On();
        }
        /// <summary>
        /// 关电视机
        /// </summary>
        public virtual void Off()
        {
            Implementor.Off();
        }
        /// <summary>
        /// 换频道
        /// </summary>
        public virtual void SetChannel()
        {
            Implementor.TuneChannel();
        }
        /// <summary>
        /// 回退
        /// </summary>
        public virtual void Back()
        {
            Implementor.Back();
        }
    }
}
